
package com.joysuch.wwyt.dataperm.api;

import java.util.Collection;
import java.util.List;

/**
 * 根据条件查找用户拥有的数据权限
 * 
 * @since
 *
 */
public interface DataPermissionLoader {

    /**
     * 查找指定角色的数据权限部门
     * 
     * @param roleId
     *                   角色ID
     * @return 拥有的部门权限列表
     */
    List<Long> findDataPermDepartsByRoleId(Long roleId);

    /**
     * 根据角色ID集合查找拥有的数据权限部门ID并集
     * 
     * @param roleIds
     *                    角色集合
     * @return 拥有的部门权限列表
     */
    List<Long> findDataPermDepartsByRoleIds(Collection<Long> roleIds);

    /**
     * 根据用户ID查找拥有的数据权限部门ID并集
     * 
     * @param userId
     *                   用户ID
     * @return 拥有的部门权限列表
     */
    List<Long> findDataPermDepartsByUserId(Long userId);

}
